package com.bigbee.singleton;
/**
 * 单例
 * 静态内部类
 * @author gyf
 *
 */
public class singleton4 {
	
	private static class singleton4inner{
		private static singleton4 single = new singleton4();
	}
	
	private singleton4(){}
	
	public static singleton4 newInstance(){
		return singleton4inner.single;
	}
}
/*
 *  这种方式同样利用了类加载机制来保证只创建一个single实例。
 * 它与饿汉模式一样，也是利用了类加载机制，因此不存在多线程并
 * 发的问题。不一样的是，它是在内部类里面去创建对象实例。这样
 * 的话，只要应用中不使用内部类，JVM就不会去加载这个单例类，也
 * 就不会创建单例对象，从而实现懒汉式的延迟加载。也就是说这种方
 * 式可以同时保证延迟加载和线程安全。
 */
